﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using _1.Presentacion.Principal;

namespace _1.Presentacion.Modulo_Reportes
{
    public partial class ReporteMiembros : Päntalla_Base
    {
        private DataSet dsReporte;
        public ReporteMiembros()
        {
            InitializeComponent();
        }

        private void ReporteMiembros_Load(object sender, EventArgs e)
        {

        }

        private void btnVer_Click(object sender, EventArgs e)
        {
            try
            {
               if(bgwCargar.IsBusy)return;

                bgwCargar.RunWorkerAsync();

            }
            catch (Exception)
            {

            }
        }

        private DataSet CargarReporte()
        {
            return  new DataSet();
        }

        /// <summary>
        /// Agregar todo lo que interactua con la base de datos 
        /// pero no se puede modificar nada de la Interface 
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void bgwCargar_DoWork(object sender, DoWorkEventArgs e)
        {
            dsReporte = CargarReporte();   
        }

        private void bgwCargar_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            if (e.Error != null)
            {
                PresentarReporte(dsReporte);
            }
            else
                MessageBox.Show(e.Error.Message);
        }  

        private void PresentarReporte(DataSet xDatos)
        {
            using (var rptMiembros = new RepMiembros())
            {
                rptMiembros.SetDataSource(xDatos);

                crvInforme.ReportSource = rptMiembros;
                crvInforme.RefreshReport();
            } 

        }
    }
}
